package net.sea.commons.context;

import java.util.HashMap;
import java.util.Map;

/**
 * 应用程序上下文
 * 
 * @author 华成伍
 *
 */
public class AppContext {
	// 上下文实例对象
	private static AppContext contextInstance;
	// 上下文存储容器
	private static Map<String, Object> context = new HashMap<String, Object>();

	private AppContext() {
	}

	/**
	 * 获取上下文实例
	 * 
	 * @return
	 */
	public static AppContext getInstance() {
		if (contextInstance == null) {
			contextInstance = new AppContext();
		}
		return contextInstance;
	}

	/**
	 * 根据键获取上下文对象的值
	 * 
	 * @param key
	 *            键名
	 * @return 属性值
	 */
	public Object getAttribute(String key) {
		return context.get(key);
	}

	/**
	 * 设置上下文内容
	 * 
	 * @param key
	 *            键名
	 * @param attr
	 *            属性值
	 */
	public void setAttribute(String key, Object attr) {
		context.put(key, attr);
	}

}
